package fr.afcepf.atod21.business;

import java.util.List;

import fr.afcepf.atod21.data.DaoStagiaireImpl;
import fr.afcepf.atod21.data.IDaoStagiaire;
import fr.afcepf.atod21.entities.Stagiaire;
import fr.afcepf.atod21.exception.ATOD21Exceptions;

/**
 * Class DaoStagiaireImpl implementant l'interface IDaoStagiaire.

 * @author Stagiaire

 */
public class BusinessStagiaireImpl implements IBusinessStagiaire {
    /**
     * Association vers la couche data.
     */
    private IDaoStagiaire daoStagiaire = new DaoStagiaireImpl();

    /**
     * pour injection.
     *
     * @param paramDaoStagiaire
     *            the daoStagiaire to set
     */
    public void setDaoStagiaire(IDaoStagiaire paramDaoStagiaire) {
        daoStagiaire = paramDaoStagiaire;
    }

    @Override
    public List<Stagiaire> rechercherParNom(String paramNom) {
        // TODO Auto-generated method stub
        return daoStagiaire.rechercherParNom(paramNom);
    }

    @Override
    public List<Stagiaire> rechercherParIdOrg(int paramIdOrg) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public Stagiaire ajouter(Stagiaire paramStag) throws ATOD21Exceptions {
        List<Stagiaire> liste = rechercherParNom(paramStag.getNom());
        boolean trouve = false;
        if (liste != null) {
            for (Stagiaire s : liste) {
                if (s.getNom().equals(paramStag.getNom())
                        && s.getPrenom().equals(paramStag.getPrenom())
                        && s.getAdresse().equals(paramStag.getAdresse())) {
                    trouve = true;
                }
            }
        }

        if (!trouve) {
            paramStag = daoStagiaire.ajouter(paramStag);
        }
        return paramStag;
    }

    @Override
    public Stagiaire renvoi(Stagiaire paramStag) throws ATOD21Exceptions {
        // TODO Auto-generated method stub
        return null;
    }
}
